package skcontroller

import (
	"Cgo/backend/models"
	"Cgo/common"
	_ "Cgo/front/models"

	"github.com/gin-gonic/gin"
)

func SkLoginController(r *gin.RouterGroup) {
	r.GET("/login", common.HandlerFunc(login))
	r.POST("/zhuce", common.HandlerFunc(zhuce))
}

// @Summary 用户登录
// @Schemes
// @Description 用户登录
// @Tags sk前台接口
// @Param name query string true "用户账号"
// @Param password query string true "用户密码"
// @Accept json
// @Produce json
// @Success 200 {object} common.RT[models.SkUser]
// @Router /front/sk/user/login [get]
func login(ctx *gin.Context) common.Result {
	name := ctx.Query("name")
	password := ctx.Query("password")
	if name == "" || password == "" {
		return common.R.Fail("请输入正确的账号密码")
	}
	userInfo, err := LoginDao.UserLogin(name, password)
	if err != nil {
		return common.R.Fail("暂无用户数据")
	}
	return common.R.Success(userInfo)
}

// @Summary 用户注册
// @Schemes
// @Description 用户注册
// @Tags sk前台接口
// @Param user body models.SkUser true "注册信息"
// @Accept json
// @Produce json
// @Success 200 {object} common.RT[string]
// @Router /front/sk/user/zhuce [post]
func zhuce(ctx *gin.Context) common.Result {
	var user models.SkUser
	err := ctx.ShouldBindJSON(&user)
	if err != nil {
		return common.R.Fail("参数错误")
	}
	if user.Name == "" || user.Password == "" {
		return common.R.Fail("请输入正确的账号密码")
	}
	err = LoginDao.UserRegister(user.Id, user.Name, user.Password)
	if err != nil {
		return common.R.Fail("注册失败")
	}
	return common.R.Success("注册成功")
}
